/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fotodep;

import Dominio.GestorZona;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author halt
 */
public class Funciones {

    public Funciones(){}
    
    public void alert(String txt) {
        AlertJDialog aJD = new AlertJDialog(new javax.swing.JFrame(), true,txt);
        aJD.setVisible(true);
    }

    public boolean horaCorrecta(int hora) {
        boolean b = true;
        int h = hora/100;
        if (h > 24) {
            this.alert("Hora mayor de 24");
            b = false;
        }
        int m = hora%100;
        if (m > 59){
            this.alert("Hora mayor de 59");
            b = false;
        }
        return b;
    }

    public boolean fechaCorrecta(int dia, int mes, int ano) {
        boolean b = true;
        if (dia > 31) {
            this.alert("Cada mes tiene como maximo 31");
            b = false;
        }
        if(mes > 12) {
            this.alert("Solo hay 12 meses en un año");
            b = false;
        }
        return b;
    }

    public Object[] getFila(int n,int end,JTable jtable1) {
        Object[] fila = new Object[end];
        DefaultTableModel dtm = (DefaultTableModel) jtable1.getModel();
        for (int i = 0; i < end; ++i) {
            fila[i] = dtm.getValueAt(n,i);
        }
        return fila;
    }

    public float getPrecioZona(String zona, GestorZona gz) {
        float t = (float) -1.0;
        if (zona.equals("Zona 1")) {
            System.out.println(1);
            return gz.getPrecioZona(1);
        }
        else if (zona.equals("Zona 2")) {
            System.out.println(2);
            return gz.getPrecioZona(2);
        }
        else if (zona.equals("Zona 3")) {
            System.out.println(3);
            return gz.getPrecioZona(3);
        }
        else if (zona.equals("Zona 4")) {
            System.out.println(4);
            return gz.getPrecioZona(4);
        }
        else if (zona.equals("Zona 5")) {
            System.out.println(5);
            return gz.getPrecioZona(5);
        }
        return t;
    }

    public int getIdZona(String zona) {
        int t = -1;
        if (zona.equals("Zona 1")) {
            return 1;
        }
        else if (zona.equals("Zona 2")) {
            return 2;
        }
        else if (zona.equals("Zona 3")) {
            return 3;
        }
        else if (zona.equals("Zona 4")) {
            return 4;
        }
        else if (zona.equals("Zona 5")) {
            return 5;
        }
        return t;
    }

    public String int2Fecha(int dia, int mes, int ano){
        String fecha = ""+dia+""+mes+""+ano;
        if (mes < 10 && dia > 9) fecha = ""+dia+"0"+mes+""+ano;
        else if(dia < 10 && mes > 9) fecha = ""+"0"+dia+""+mes+""+ano;
        else if (mes < 10 && dia < 10) fecha = ""+"0"+dia+"0"+mes+""+ano;
        else fecha = ""+dia+""+mes+""+ano;
        return fecha;
    }

    public int[] Fecha2int(String fecha) {
        int []fechaInt = new int[3];
        String [] fechav = fecha.split("/");
        for (int i = 0; i < fechav.length; ++i){
            fechaInt[i] = Integer.parseInt(fechav[i]);
        }
        return fechaInt;
    }

    public Object[][] ordenarTabla(Object[][] data) {
        Object[][] tablaO = data;
        int n = data.length;
        for (int i = n-1; i >= 0; --i){
            tablaO = copiarTabla(buscarMax(data),i,n);
        }
        return tablaO;
    }

    private Object[] buscarMax(Object[][] t) {
        Object[] max = new Object[4];
        int n = t.length;
        max = copiarObject(t,0);
        for (int i = 0; i < n; ++i) {
            if (Integer.parseInt(t[i][0].toString()) > Integer.parseInt(max[0].toString())) {
                max = copiarObject(t,i);
                t[i][0] = -1;
            }
        }
        return max;
    }

    private Object[] copiarObject(Object[][] t, int fila) {
        int n = 4;
        Object[] copiado = new Object[4];
        for (int i = 0; i < n; ++i) {
            copiado[i] = t[fila][i];
        }
        return copiado;
    }

    private Object[][] copiarTabla(Object[] c, int fila, int n){
        Object[][] t = new Object[n][4];
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < 4;++j) {
                t[i][j] = c[j];
            }
        }
        return t;
    }
    
}
